Storage networks are often configured to include a number of storage devices that are owned and managed by one or more storage controller devices. When the storage networks are first established, an initial assignment of storage devices to storage controller devices is made. However, as changes are implemented in the storage network, the assignment of ownership over the storage devices by the storage controller devices must also change to meet the requirements imposed by the changes to the storage network.
Many existing storage networks employ a significant proportion of solid state drives (SSDs) as storage devices. Due to their high throughput capabilities, SSDs are highly accessible by multiple access paths, much more so than traditional hard disk drives. As a result, many storage networks, especially those with a high proportion of SSDs, may benefit from more efficient use of those multiple access paths. Specifically, the input or output performance of the storage devices may be significantly impacted based on how the multiple access paths are handled. Accordingly, a storage network may realize performance benefits by improving the effectiveness with which the multiple access paths and the devices connected by those multiple access paths are managed.
Among existing ways of managing multiple access paths and assigning ownership for storage devices, manual intervention is common. Such a way of assigning storage device ownership is, in addition to being time consuming and labor intensive, also error prone and offers less than optimal performance in the storage network. Additionally, current autonomous assignment methods often result in suboptimal assignment such that path(s) to a disk shelf from a storage controller are not utilized or there is an imbalance in utilization of one or more paths to the disk shelf.